{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "436338e8",
   "metadata": {},
   "outputs": [],
   "source": [
    " from MechFinder import MechFinder\n",
    "finder = MechFinder(collection_dir='collections')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f425b346",
   "metadata": {},
   "source": [
    "# Finding mechanism for single reaction"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "358c6925",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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5WrcuPHcuXPFb0//S2lp6fz587kvGTFiRM236g4NDZ0wYULVlqioqNzc3H379oWEhDg6Om7atKmGXXyFuHmACxYs4A4bNmxIRP86LaJucHFxIaL169dL/MpHjhyZO3du1ZbLly9z6ydzgZAx9vPPP0+YMGHChAmampoSS918PrO2ZkSMx2N37nzk5Bs3mJ3db/8svePk5PRfJ+bn5ysrK/N4vHv37kmmTgAAqAKLynwV7ty506dPHzU1NSJq0qQJEY0ePXrPnj0aGhrcCQKBoLS0lNsbsH///mlpac2aNWvYsOHgwYMHDRpkbW3NzRH6KHV19V69et28efPq1atVF1n5Ci1ZsuTAgQPTp0+Xl5efMGGChoZGYWHh9evX1dXVly1bRkSenp5+fn6bN2/m8XinT5+uyQ055eXlERERT58+NTMzCw0N7dq168yZMxs3buzg4PD7778TETeP9BMxxoRCIbfxPadVq1binbK8vb1/+uknIsrLy1u2bNmDBw8+8V4dqIkXL16EhIQQkbW1NfdhCmMsODj4wYMHJiYmRkZGRJSRkbFv3749e/bk5+cTkba2tpOT0/Tp0z9lg8H69evv2LHDzMxs6tSp586du337tq+vb9++fatdsLa2NrfChxi3EtK0adOIqGPHjo6Ojr/88ku1r/9fMjMzw8LCGjVqZG1tzeWxgoICf39/RUXF4cOHf+LfmWp7+vQpEbVp04aIXr169ebNGzU1NYlsc/d14rb4q40d1b/77rtjx45VbRk8ePA75/j6+r548UJFRcXIyEgyNbx5Q3FxZG9PhoZUWEgGBm/bHz4kPp/69KGAACovf9v4/DktWEBEs9q1y542bd68ed27d/+vC6uqqk6aNGn37t1eXl67d++WQKkAAFCVtBMpMMZYcHCwg4ND1ZaSkhLuXjhuhLCkpERXV5d7at++fWvWrBHPb/xc3Cre4rvvvl3FxcXq6urDhg2r+RZYjLGSkhLuDZOamlrVu/649eJnzZr1Wb3o6Oj8652Bx48fHzJkSNXBwytXrowfP76GxcOHJSUlde3a9cCBA4cPHxb/onl7ezs4OISFhfXp08ff33/IkCHizxQGDhx4/vz56v1cZWZmcslNQUFh1apV1bsI9xPy008/LV++/O7du4GBgWlpad7e3uHh4b/99hu3dsiKFSuSkpIkew/w1atXjYyM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iIjly5fXqFFDO+f27dtFixZt2LChiJQvX97KysrDw8NoNGo14otqveRFRMTLy6tHjx5581KzF/i3ady4salLhMnjx4+7d+/erFmzPn36pKenR0ZGVq5cuVevXmfPns2RQY8fP96hQ4e9e/d27969U6dOIhIdHf3ZZ5+1atVqwIABFy5caPWbhg0bnj179ubNm++++66Hh8edO3fmz59vbW2dI9PIJisrKz8/v5SUlKCgoHr16pUtW7Zx48ZJSUkFCxYcPHjwo0eP8ubNO2nSpJIlS8bGxmqVRbOjS5cuFSpUuHbtmr+/f47MHwD0w0z9VnsaOjdkyJClS5d+//3333zzTfbfLT4+funSpdrXlMGDB+/atatly5azZs3SftqvXz+DwfDTTz+JiLOzc/369bM/YmRkZOvWrc+fP29pabl3717TJfM/4+rqWr9+/TZt2rz11luZj9+6dWvnzp27d+/++uuvp0/hgBH9AAAPC0lEQVSfvm3bNtOPrly5UqlSpTfeeCM9Pb1Dhw7/+c9/WrZsqZRq2LDhnj17ihUrlv3fAsDzql9fihcX7YLMmTNy5IjkYAOdqKio7t27lyxZslixYsWKFWvevPm5c+dWr15dqFChBg0aiMinn346adIka2vrS5cujRgxokePHtkc8cGDB02aNNmzZ8+77767b9++WrVqlS5d2t/fPz09vW3btuPGjStfvvzw4cNF5OrVq+PGjdMKcXXo0MFUqFm3PDw8xo0b5+jouGPHjtyeCwD8kxAIkWHLli2dOnWys7M7fvx4bs/lBT169Kht27YnTpyoUKHC3r17s95W0WAwBAYGbtu2bfv27VpxAhHx8fH57rvvgoODzc3NM5+cnJw8ePDg+vXrf/HFFyKydevWw4cPz9DaogF45erXlz17MnrQt2sns2fnZCDUREdHp6amvv322yLi4eERHBzs4uLy/vvvJyYmPnnypFKlSlFRUW+99VbmLegvzNvb+8KFC5k/UsaNG+fu7q49njdvXkpKypgxY0Rk8ODBffr0ea6mhf9usbGxFSpUSExMvHz58u+bPQIA/ozeLyjCxMHBoWDBglq399yeywsqXrz4nj17mjRpEhYW5u3t/bfnR0ZGrly50tnZuVSpUnXr1p00aVJAQECxYsW6dev2008/tWnTxsnJycXF5fDhw+vWrQsICJg/f/7p06ft7e1LlCjx/vvvHzlyRETmzp2rJUMA/1alSpXS0qCIbNmyRbt1sESJEoGBgdbW1p06dSpfvnyOpEERiY6OfmbbgoODg/bg0aNHK1eu7N69u4hERkYGBweTBjMrUaJEz549lVILFizI7bkAwD8Jdz0hQ+HChZs2bern5+fn56fdJvcPkpqaunDhwoCAAEtLy/Xr1/v6+rq6um7evHnDhg1ly5Z1c3MrU6aMj4/Prl27ypUrN3bs2LVr13p7e585c8ZoNGrvUL169Xbt2jk6OjZu3Nh0N+Ds2bN37Nhx6NCh0qVLW1paGo1Go9Ho7OwsIgEBAW+++WadOnX69etnqlAK4NVr3Fjy5ct4XL++FCnycocLCwsTEe1ffWhoqOlxTrG0tNy8eXPmIy1bthSRmJiYHj16TJ48WWswuGDBAm3jKDJzdXVdvnz5+vXrZ86cmT9//tyeDgD8M7BlFE/NnTt35MiRPXr0WLt2bW7P5fl89tlnVlZWQ4YMOXPmjFKqffv2d+/eHTdu3NSpU/fu3btnzx43NzdXV1c/P79169YdP37caDQuW7asYMGCjRs3dnBw6NixI/uLAPyttLS0QoUKiUhycnLevHn/+9//uru759St15rU1NQGDRoMGzascePG58+fb9eu3YIFCz7++OOePXtqdz6XLFnSwsKiUaNGp06dymeKwvjNqlWrWrZsee3atfj4+EaNGpmWW2NiYoKCgrQ11ZCQkDNnztSoUcNURQwA9Iwto3iqXbt2ZmZmUVFRuT2R5/P48eMTJ05MmDDBwsLCycmpffv2fn5+ZmZmXl5e77zzTosWLcLCwooWLRoVFXXv3r2UlJR33nln2LBh27Zti46O9vf3d3NzIw0CyIqIiAiDwVCuXDltH0Hm1cKckj9//l9//fXJkydLly6NjY01Nze3srK6detWx44d79y58/PPP588efL27dvff/89afAPffLJJ5988snu3bvv3Lnz2WefJSYmisjixYv79+8/bNgwEfn111+HDx8eExPj4uKyffv23J4vAOQ+VgjxP8LDw3fu3BkcHFyrVq0+ffpoZetu3769evXqYcOGlShRYuPGjadOnRKROnXqaJsnc11wcPDQoUMPHDhgOrJlyxZbW1utYf2kSZMKFy785Zdftm/fPiEh4fr167/++mvW680AgMmhQ4c++ugje3t77Rbijz76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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from rdkit import Chem\n",
    "sampled_rxns = pd.read_csv('data/samples.csv')['reaction'].tolist() # randomly sampled reactions\n",
    "sampled_rxn = np.random.choice(sampled_rxns, 1)[0]\n",
    "Chem.Draw.MolsToGridImage([Chem.MolFromSmiles(smi) for smi in  sampled_rxn.split('>>')], subImgSize=(400, 400))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "22432188",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Identified mechanistic class: nucleophilic_attack_to_(thio)carbonyl_or_sulfonyl\n",
      "Generated mechanism: [(26, 1), ([1, 9], 9), (9, [9, 1]), ([1, 101], 101)]\n"
     ]
    },
    {
     "data": {
      "image/png": "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ZTCoDh3U9OlqyRJVt64yGFTDhhmBMDRU9e2bEQLz5lX29srTU+VQgdU/EBHxwr8cI6d88803CxcufOpg27Zthw8fvmTJEltb2ylTpuT4oKdOnbKxsdm5c6dWzd/kzp072pZUo9EYGBjo5ORkustXu5Uri23u4+LiTAVvPvlk7P8P8gy0QHj1qmrSRHXpokxRNDFRvfuu2rTptzONRmVllWPFMtPS0p6qJZuWlnbjxo3AwMANGzYopeLj43Oq2Oxf0zrQvoRPy5wVFhZmbW199epVg8Hg6+sbExOjlNq6deuGDRusra2VUqGhoYsWLXJyctI6B86bNy8oKCiXJw0A/yj0IdSFSZMmjRo1qn379klJSQUKFBg9erSIKKUsLS179eqlXasWkX379imltOv33bp1O3v2bNJXX1lo/fcsLOSdd55+36e2Ve3aJcuWyfLlkpQkmZr45ayzZ88+evTorbfe0uoidOrUyc/PL6vdFLPhRW9MrVJF1q2T99/PePrwYcauThFZtkwePhSDIaOkq4j07i0WFtKpk7RtKy9081dUlHh5yfjxL3AI5KDu3bv37dv3vffeK126tFZ6Nzg4+NNPP9XKgebPnz9z77UclD9//nXr1nl6evbp02fIkCFpaWndunUrXrx4REREjx49fHx8tOI6hQoV6tu3r5ub29tvv531Ny9atKivr6+jo+PHH3985sxQW1tZv16ee/dftWrSvr18950kJcmFC1KokAweLGPGiKOjGAyyY4d07iz370t6ujxXV8ineXl5eXt716xZ89q1az4+Pm+99dbZs2eHDh1qY2MTHBzs5+e3aNGitWvXVqxYMS4ubuvWrU91w8tZL610Tc7atGlT3759tYXiXr16GY1GT0/PsWPHisiECRNExNra2tra+tixY9r5n3zySS7OFgD+iQiEulChQoU1a9a8/fbbFStWjI+PHzhwYN++fbU6h2fPntXOSUxMHDdu3Pbt27XMM3369GcepkMHWbRIRowQNzeJiZGJE7M57ZSUlHz58uXJ89udrkaj0dLSctWqVVpx1OTk5FKlSvU05aQXKXOjixdh4kRp1046dhQRCQqSa9cymsI/fChJSfL665Ivn/TvL7duycSJ4ugojo4vaCK/SU2V3r2lZUvZvv23pIpXWe3atSdPnqyVWSpTpsysWbP8/f3/q7VdFzl9+nRH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AAAAAOgUgRAAAAAAdIpACAAAAAA6RSAEAAAAAJ0iEAIAAACAThEIAQAAAECnCIQAAAAAoFMEQgAAAADQKQIhAAAAAOgUgRAAAAAAdIpACAAAAAA6RSAEAAAAAJ0iEAIAAACAThEIAQAAAECnCIQAAAAAoFMEQgAAAADQKQIhAAAAAOgUgRAAAAAAdIpACAAAAAA6RSAEAAAAAJ0iEAIAAACAThEIAQAAAECnCIQAAAAAoFMEQgAAAADQKQIhAAAAAOgUgRAAAAAAdIpACAAAAAA6RSAEAAAAAJ0iEAIAAACAThEIAQAAAECnCIQAAAAAoFMEQgAAAADQKQIhAAAAAOgUgRAAAAAAdIpACAAAAAA6RSAEAAAAAJ0iEAIAAACAThEIAQAAAECnCIQAAAAAoFMEQgAAAADQKQIhAAAAAOgUgRAAAAAAdIpACAAAAAA6RSAEAAAAAJ0iEAIAAACAThEIAQAAAECnCIQAAAAAoFMEQgAAAADQKQIhAAAAAOgUgRAAAAAAdIpACAAAAAA6RSAEAAAAAJ0iEAIAAACAThEIAQAAAECnCIQAAAAAoFMEQgAAAADQKQIhAAAAAOgUgRAAAAAAdIpACAAAAAA6RSAEAAAAAJ0iEAIAAACAThEIAQAAAECnCIQAAAAAoFMEQgAAAADQKQIhAAAAAOgUgRAAAAAAdIpACAAAAAA6RSAEAAAAAJ0iEAIAAACAThEIAQAAAECnCIQAAAAAoFMEQgAAAADQKQIhAAAAAOgUgRAAAAAAdIpACAAAAAA6RSAEAAAAAJ0iEAIAAACAThEIAQAAAECnCIQAAAAAoFMEQgAAAADQKQIhAAAAAOgUgRAAAAAAdIpACAAAAAA6RSAEAAAAAJ0iEAIAAACAThEIAQAAAECnCIQAAAAAoFMEQgAAAADQKQIhAAAAAOgUgRAAAAAAdIpACAAAAAA6RSAEAAAAAJ0iEAIAAACAThEIAQAAAECnCIQAAAAAoFMEQgAAAADQKQIhAAAAAOgUgRAAAAAAdIpACAAAAAA6RSAEAAAAAJ0iEAIAAACAThEIAQAAAECnCIQAAAAAoFMEQgAAAADQKQIhAAAAAOgUgRAAAAAAdIpACAAAAAA6RSAEAAAAAJ0iEAIAAACAThEIAQAAAECn/gdAIBTRvKbm+QAAAix6VFh0cmRraXRQS0wgcmRraXQgMjAy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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "updated_reaction, LRT, MT_class, electron_path = finder.get_electron_path(sampled_rxn)\n",
    "print ('Identified mechanistic class:', MT_class)\n",
    "print ('Generated mechanism:', electron_path)\n",
    "Chem.Draw.MolsToGridImage([Chem.MolFromSmiles(smi) for smi in  updated_reaction.split('>>')], subImgSize=(400, 400))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "02be65f0",
   "metadata": {},
   "source": [
    "# Finding mechanism for a reaction dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "6a96cf24",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|███████████████████████████████████████████████████████████████████████████| 33099/33099 [04:46<00:00, 115.42it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Labeled 31364 reactions.\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    }
   ],
   "source": [
    "from tqdm import tqdm\n",
    "from collections import defaultdict\n",
    "\n",
    "dataset_rxns = pd.read_csv('data/USPTO_33K.csv')\n",
    "original_reactions = []\n",
    "updated_reactions = []\n",
    "mechanistic_classes = []\n",
    "mechanistic_labels = []\n",
    "\n",
    "for rxn in tqdm(dataset_rxns['reaction'], total=len(dataset_rxns)):\n",
    "    updated_rxn, LRT, MT_class, electron_path = finder.get_electron_path(rxn)\n",
    "    if not isinstance(finder.check_exception(MT_class), str):\n",
    "        original_reactions.append(rxn)\n",
    "        updated_reactions.append(updated_rxn)\n",
    "        mechanistic_classes.append(MT_class)\n",
    "        mechanistic_labels.append(electron_path)\n",
    "        \n",
    "print ('Labeled %d reactions.' % len(updated_reactions))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "cc3a46df",
   "metadata": {},
   "outputs": [],
   "source": [
    "labeled_df = pd.DataFrame({\n",
    "    'original_reactions': original_reactions, \n",
    "    'updated_reaction': updated_reactions, \n",
    "    'mechanistic_class': mechanistic_classes,\n",
    "    'mechanistic_label': mechanistic_labels\n",
    "    })\n",
    "labeled_df.to_csv('data/mech-USPTO-31k.csv', index=None)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
